/**
 * \brief Game modes will be used to control specific game event logic
 */

using System;

namespace KaoticSSB.GameModes
{
	abstract public class GameMode
	{
		protected bool mFlaggedForShutdown = false;

		public string Name
		{
			get;
			set;
		}

		private void Start(){}
		private void Update(){}

		public abstract void Startup();
		public abstract void GameModeUpdate();
		public abstract void Shutdown();
		public abstract bool ShouldShutdown();
		public abstract void FlagForShutdown();
	}
}

